Method and system for recommending optimum position of photography

ABSTRACT

Provided is a method and system for recommending an optimal position of photographing. A optimal position-of-photographing recommendation method may include executing, at an electronic device, and controlling a camera included in the electronic device under control of a photography application executed on the electronic device; calculating, at the electronic device, a photograph angle of the electronic device based on sensor information provided from a sensor of the electronic device under control of the photography application; comparing, at the electronic device, the calculated photograph angle to a desired angle range that is managed by the photography application, under control of the photography application; and outputting, at the electronic device, notification data in response to the calculated photograph angle being included in the desired angle range, under control of the photography application.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of U.S. non-provisional applicationSer. No. 15/407,666, filed on Jan. 17, 2017, which claims the benefit ofpriority under 35 U.S.C. § 119 to Korean Patent Application No.10-2016-0006246 filed on Jan. 19, 2016, in the Korean IntellectualProperty Office (KIPO), the entire contents of each of which areincorporated herein by reference.

BACKGROUND Field

One or more example embodiments relate to methods, apparatuses, systems,and/or non-transitory computer readable media for recommending adesired, preferred, and/or optimal position for photography.

Description of Related Art

In the related art, when taking a photo using a photograph applicationfor controlling a camera included in an electronic device, such as asmartphone, a user generally prefers a specific angle and/or distance.For example, when taking a selfie, the user may desire to take a selfieat a preferred angle, such as, an angle of the electronic device, and/ora preferred distance, such as, a distance between the user and theelectronic device. Here, in the related art, the user needs to obtainthe desired angle and distance while viewing a screen of the electronicdevice and manually shifting the position of the electronic devicesimultaneously every time the user takes a photo, such as a selfie.

Also, the user may desire to take a photo of a specific object at apreferred angle and/or distance. For example, in the case of taking aphoto of food, the user may generally desire to take the photo byadjusting the angle of the electronic device to be horizontal (e.g.,parallel) relative to the ground. In this case, the user may not be ableto readily verify a screen of the electronic device while viewing theobject through the viewfinder and/or screen of the electronic device andmay not be able to verify whether the angle of the electronic device ishorizontal relative to the ground.

As the related art of recommending a photograph composition, there istechnology for guiding a recommendation position of a user. However, therelated art, only recommends appropriate photography compositionsettings and does not inform the user that the camera and/or theelectronic device is appropriately positioned at a preferred photographyposition of the user.

SUMMARY

One or more example embodiments provide an optimalposition-of-photographing recommendation method, apparatus, system,and/or non-transitory computer readable medium that may store (orpre-store) and manage a range of a desired and/or preferred angle of anelectronic device of a user and/or a range of a desired and/or preferreddistance of the user between the electronic device and an object, maycalculate an angle and a distance of the electronic device when taking aphoto or video, and if the calculated angle and distance are included inthe stored angle range and/or distance range, and may provide anotification to the user, thereby decreasing or eliminatinginconveniences that the user faces regarding changing the angle and aposition of the electronic device while the user takes a photo and/orvideo.

One or more example embodiments also provide an optimalposition-of-photographing recommendation method, apparatus, system,and/or non-transitory computer readable medium that may provide afunction capable of changing and controlling a size to which a filteringeffect is to be applied on a captured image based on a calculated angleand/or distance, so that a user may further conveniently select afiltering area.

According to an aspect of at least one example embodiment, there isprovided a non-transitory computer-readable medium storing a computerreadable instructions, which when executed by at least one processor,causes the at least one processor to implement an optimalposition-of-photographing recommendation method, wherein the optimalposition-of-photographing recommendation method. The optimalposition-of-photographing recommendation method includes controlling acamera included in an electronic device based on a photographyapplication executed on the electronic device, calculating a photographangle of the electronic device based on sensor information provided fromat least one sensor of the electronic device, comparing the calculatedphotograph angle to a desired angle range, and outputting notificationdata in response to the calculated photograph angle being within thedesired angle range.

According to another aspect of at least one example embodiment, there isprovided an optimal position-of-photographing recommendation methodperformed by an electronic device. The method includes executing, usingat least one processor, and controlling a camera included in theelectronic device, calculating, using the at least one processor, aphotograph angle of the electronic device based on sensor informationprovided from at least one sensor of the electronic device, comparing,using the at least one processor, the calculated photograph angle to adesired angle range, and outputting, using the at least one processor,notification data in response to the calculated photograph angle beingwithin the desired angle range.

According to an aspect of at least one example embodiment, there isprovided an optimal position-of-photographing recommending system of anelectronic device, the system including a memory having computerreadable instructions stored thereon and at least one processorconfigured to execute the computer-readable instructions to control acamera included in the electronic device, calculate a photograph angleof the electronic device based on sensor information provided from atleast one sensor of the electronic device, compare the calculatedphotograph angle to a desired angle range, and output notification datain response to the calculated photograph angle being within the desiredangle range.

According to an aspect of at least one example embodiment, there isprovided an apparatus for executing a photography application, theapparatus including at least one sensor configured to sense angleinformation and distance information, at least one camera, a displaypanel, and at least one processor configured to receive inputsassociated with a desired angle and a desired distance for an image tobe captured, receive current angle information, receive current distanceinformation of the at least one camera relative to a target of the atleast one camera from the at least one sensor, determine whether the atleast one camera is in a desired position based on the current angleinformation, the current distance information, the desired angle, andthe desired distance, and output a notification based on results of thedetermination to the display panel.

Further areas of applicability will become apparent from the descriptionprovided herein. The description and specific examples in this summaryare intended for purposes of illustration only and are not intended tolimit the scope of the present disclosure.

BRIEF DESCRIPTION OF THE FIGURES

Example embodiments will be described in more detail with regard to thefigures, wherein like reference numerals refer to like parts throughoutthe various figures unless otherwise specified, and wherein:

FIG. 1 is a diagram illustrating an example of a network environmentaccording to at least one example embodiment;

FIG. 2 is a block diagram illustrating an example of a configuration ofan electronic device and a server according to at least one exampleembodiment;

FIG. 3 is a diagram illustrating an example of constituent elements ofat least one processor of a server according to at least one exampleembodiment;

FIG. 4 is a flowchart illustrating an example of an optimalposition-of-photographing recommendation method performed by anelectronic device according to at least one example embodiment;

FIG. 5 is a diagram illustrating another example of constituent elementsof at least one processor of a server according to at least one exampleembodiment;

FIG. 6 is a flowchart illustrating another example of an optimalposition-of-photographing recommendation method performed by anelectronic device according to at least one example embodiment;

FIG. 7 illustrates an example of outputting notification data based on aphotograph angle of an electronic device according to at least oneexample embodiment;

FIG. 8 illustrates an example of outputting notification data based on adistance between an electronic device and an object according to atleast one example embodiment;

FIG. 9 illustrates an example of outputting notification data based on achange in a photograph angle according to at least one exampleembodiment; and

FIG. 10 illustrates an example of changing a size of an area to which afiltering effect is applied based on a change in a photograph angleaccording to at least one example embodiment.

It should be noted that these figures are intended to illustrate thegeneral characteristics of methods and/or structure utilized in certainexample embodiments and to supplement the written description providedbelow. These drawings are not, however, to scale and may not preciselyreflect the precise structural or performance characteristics of anygiven embodiment, and should not be interpreted as defining or limitingthe range of values or properties encompassed by example embodiments.

DETAILED DESCRIPTION

One or more example embodiments will be described in detail withreference to the accompanying drawings. Example embodiments, however,may be embodied in various different forms, and should not be construedas being limited to only the illustrated embodiments. Rather, theillustrated embodiments are provided as examples so that this disclosurewill be thorough and complete, and will fully convey the concepts ofthis disclosure to those skilled in the art. Accordingly, knownprocesses, elements, and techniques, may not be described with respectto some example embodiments. Unless otherwise noted, like referencecharacters denote like elements throughout the attached drawings andwritten description, and thus descriptions will not be repeated.

Although the terms “first,” “second,” “third,” etc., may be used hereinto describe various elements, components, regions, layers, and/orsections, these elements, components, regions, layers, and/or sections,should not be limited by these terms. These terms are only used todistinguish one element, component, region, layer, or section, fromanother region, layer, or section. Thus, a first element, component,region, layer, or section, discussed below may be termed a secondelement, component, region, layer, or section, without departing fromthe scope of this disclosure.

Spatially relative terms, such as “beneath,” “below,” “lower,” “under,”“above,” “upper,” and the like, may be used herein for ease ofdescription to describe one element or feature's relationship to anotherelement(s) or feature(s) as illustrated in the figures. It will beunderstood that the spatially relative terms are intended to encompassdifferent orientations of the device in use or operation in addition tothe orientation depicted in the figures. For example, if the device inthe figures is turned over, elements described as “below,” “beneath,” or“under,” other elements or features would then be oriented “above” theother elements or features. Thus, the example terms “below” and “under”may encompass both an orientation of above and below. The device may beotherwise oriented (rotated 90 degrees or at other orientations) and thespatially relative descriptors used herein interpreted accordingly. Inaddition, when an element is referred to as being “between” twoelements, the element may be the only element between the two elements,or one or more other intervening elements may be present.

As used herein, the singular forms “a,” “an,” and “the,” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups, thereof. As used herein, the term “and/or”includes any and all combinations of one or more of the associatedlisted items. Expressions such as “at least one of,” when preceding alist of elements, modify the entire list of elements and do not modifythe individual elements of the list. Also, the term “exemplary” isintended to refer to an example or illustration.

When an element is referred to as being “on,” “connected to,” “coupledto,” or “adjacent to,” another element, the element may be directly on,connected to, coupled to, or adjacent to, the other element, or one ormore other intervening elements may be present. In contrast, when anelement is referred to as being “directly on,” “directly connected to,”“directly coupled to,” or “immediately adjacent to,” another elementthere are no intervening elements present.

Unless otherwise defined, all terms (including technical and scientificterms) used herein have the same meaning as commonly understood by oneof ordinary skill in the art to which example embodiments belong. Terms,such as those defined in commonly used dictionaries, should beinterpreted as having a meaning that is consistent with their meaning inthe context of the relevant art and/or this disclosure, and should notbe interpreted in an idealized or overly formal sense unless expresslyso defined herein.

Example embodiments may be described with reference to acts and symbolicrepresentations of operations (e.g., in the form of flow charts, flowdiagrams, data flow diagrams, structure diagrams, block diagrams, etc.)that may be implemented in conjunction with units and/or devicesdiscussed in more detail below. Although discussed in a particularlymanner, a function or operation specified in a specific block may beperformed differently from the flow specified in a flowchart, flowdiagram, etc. For example, functions or operations illustrated as beingperformed serially in two consecutive blocks may actually be performedsimultaneously, or in some cases be performed in reverse order.

Units and/or devices according to one or more example embodiments may beimplemented using hardware and/or a combination of hardware andsoftware. For example, hardware devices may be implemented usingprocessing circuitry such as, but not limited to, a processor, CentralProcessing Unit (CPU), a controller, an arithmetic logic unit (ALU), adigital signal processor, a microcomputer, a field programmable gatearray (FPGA), a System-on-Chip (SoC), a programmable logic unit, amicroprocessor, or any other device capable of responding to andexecuting instructions in a defined manner.

Software may include a computer program, program code, instructions, orsome combination thereof, for independently or collectively instructingor configuring a hardware device to operate as desired. The computerprogram and/or program code may include program or computer-readableinstructions, software components, software modules, data files, datastructures, and/or the like, capable of being implemented by one or morehardware devices, such as one or more of the hardware devices mentionedabove. Examples of program code include both machine code produced by acompiler and higher level program code that is executed using aninterpreter.

For example, when a hardware device is a computer processing device(e.g., a processor, Central Processing Unit (CPU), a controller, anarithmetic logic unit (ALU), a digital signal processor, amicrocomputer, a microprocessor, etc.), the computer processing devicemay be configured to carry out program code by performing arithmetical,logical, and input/output operations, according to the program code.Once the program code is loaded into a computer processing device, thecomputer processing device may be programmed to perform the programcode, thereby transforming the computer processing device into a specialpurpose computer processing device. In a more specific example, when theprogram code is loaded into a processor, the processor becomesprogrammed to perform the program code and operations correspondingthereto, thereby transforming the processor into a special purposeprocessor.

Software and/or data may be embodied permanently or temporarily in anytype of machine, component, physical or virtual equipment, or computerstorage medium or device, capable of providing instructions or data to,or being interpreted by, a hardware device. The software also may bedistributed over network coupled computer systems so that the softwareis stored and executed in a distributed fashion. In particular, forexample, software and data may be stored by one or more computerreadable recording mediums, including the tangible or non-transitorycomputer-readable storage media discussed herein.

According to one or more example embodiments, computer processingdevices may be described as including various functional units thatperform various operations and/or functions to increase the clarity ofthe description. However, computer processing devices are not intendedto be limited to these functional units. For example, in one or moreexample embodiments, the various operations and/or functions of thefunctional units may be performed by other ones of the functional units.Further, the computer processing devices may perform the operationsand/or functions of the various functional units without sub-dividingthe operations and/or functions of the computer processing units intothese various functional units.

Units and/or devices according to one or more example embodiments mayalso include one or more storage devices. The one or more storagedevices may be tangible or non-transitory computer-readable storagemedia, such as random access memory (RAM), read only memory (ROM), apermanent mass storage device (such as a disk drive, solid state (e.g.,NAND flash) device, and/or any other like data storage mechanism capableof storing and recording data. The one or more storage devices may beconfigured to store computer programs, program code, instructions, orsome combination thereof, for one or more operating systems and/or forimplementing the example embodiments described herein. The computerprograms, program code, instructions, or some combination thereof, mayalso be loaded from a separate computer readable storage medium into theone or more storage devices and/or one or more computer processingdevices using a drive mechanism. Such separate computer readable storagemedium may include a Universal Serial Bus (USB) flash drive, a memorystick, a Blu-ray/DVD/CD-ROM drive, a memory card, and/or other likecomputer readable storage media. The computer programs, program code,instructions, or some combination thereof, may be loaded into the one ormore storage devices and/or the one or more computer processing devicesfrom a remote data storage device via a network interface, rather thanvia a local computer readable storage medium. Additionally, the computerprograms, program code, instructions, or some combination thereof, maybe loaded into the one or more storage devices and/or the one or moreprocessors from a remote computing system that is configured to transferand/or distribute the computer programs, program code, instructions, orsome combination thereof, over a network. The remote computing systemmay transfer and/or distribute the computer programs, program code,instructions, or some combination thereof, via a wired interface, an airinterface, and/or any other like medium.

The one or more hardware devices, the one or more storage devices,and/or the computer programs, program code, instructions, or somecombination thereof, may be specially designed and constructed for thepurposes of the example embodiments, or they may be known devices thatare altered and/or modified for the purposes of example embodiments.

A hardware device, such as a computer processing device, may run anoperating system (OS) and one or more software applications that run onthe OS. The computer processing device also may access, store,manipulate, process, and create data in response to execution of thesoftware. For simplicity, one or more example embodiments may beexemplified as one computer processing device; however, one skilled inthe art will appreciate that a hardware device may include multipleprocessing elements and multiple types of processing elements. Forexample, a hardware device may include multiple processors or aprocessor and a controller. In addition, other processing configurationsare possible, such as parallel processors.

Although described with reference to specific examples and drawings,modifications, additions and substitutions of example embodiments may bevariously made according to the description by those of ordinary skillin the art. For example, the described techniques may be performed in anorder different with that of the methods described, and/or componentssuch as the described system, architecture, devices, circuit, and thelike, may be connected or combined to be different from theabove-described methods, or results may be appropriately achieved byother components or equivalents.

Hereinafter, example embodiments will be described with reference to theaccompanying drawings.

FIG. 1 is a diagram illustrating an example of a network environmentaccording to at least one example embodiment. Referring to FIG. 1, thenetwork environment includes a plurality of electronic devices 110, 120,130, and 140, a plurality of servers 150 and 160, and a network 170.FIG. 1 is provided as an example only and thus, the example embodimentsare not limited thereto and, for example, the number of electronicdevices and/or the number of servers are not limited thereto and thenetwork environment may contain more or less constituent elements.

Each of the plurality of electronic devices 110, 120, 130, and 140 maybe a fixed terminal or a mobile terminal configured as a computerdevice. For example, the plurality of electronic devices 110, 120, 130,and 140 may be a smartphone, a mobile phone, a navigation device, apersonal computer, a laptop computer, a digital broadcasting terminal, apersonal digital assistant (PDA), a portable multimedia player (PMP), atablet, a game console, a wearable device, an Augmented Reality (AR)and/or Virtual Reality (VR) device, an Internet of Things (IoT) device,and the like. For example, the electronic device 110 may communicatewith other electronic devices 120, 130, and/or 140, and/or the servers150 and/or 160 over the network 170 in a wired communication mannerand/or in a wireless communication manner.

The communication scheme is not particularly limited and may include acommunication method that uses near field communication (NFC) betweendevices as well as a communication method using a communication network,for example, a mobile communication network, the wired Internet, thewireless Internet, a broadcasting network, etc., which may be includedin the network 170. For example, the network 170 may include at leastone of network topologies that include networks, for example, a personalarea network (PAN), a local area network (LAN), a campus area network(CAN), a metropolitan area network (MAN), a wide area network (WAN), abroadband network (BBN), the Internet, and the like. Also, the network170 may include at least one of network topologies that include a busnetwork, a star network, a ring network, a mesh network, a star-busnetwork, a tree or hierarchical network, and the like. However, it isonly an example and the example embodiments are not limited thereto.

Each of the servers 150 and 160 may be configured as a computerapparatus or a plurality of computer apparatuses that providesinstructions, codes, files, contents, services, and the like throughcommunication with the plurality of electronic devices 110, 120, 130,and/or 140 over the network 170.

For example, the server 160 may provide a file for installing anapplication to the electronic device 110 connected over the network 170.In this case, the electronic device 110 may install the applicationusing the file provided from the server 160. Also, the server 160 mayconnect to the server 150 under control of at least one program, forexample, a browser or the installed application, an operating system(OS) included in the electronic device 110, etc., and may use a serviceor content provided from the server 150. For example, in response to aservice request message transmitted from the electronic device 110 tothe server 150 over the network 170 under control of the application,the server 150 may transmit a message and/or code corresponding to theservice request message to the electronic device 110, and the electronicdevice 110 may provide content to the user by configuring and displayinga screen corresponding to the message and/or code under the control ofthe application. As another example, the server 150 may set acommunication session for a messaging service and may route a messagetransmission and reception between the plurality of electronic devices110, 120, 130, and/or 140 through the set communication session.

FIG. 2 is a block diagram illustrating an example of a configuration ofan electronic device and a server according to at least one exampleembodiment. FIG. 2 illustrates a configuration of the electronic device110 as an example for a single electronic device and illustrates aconfiguration of the server 150 as an example for a single server, butthe example embodiments are not limited thereto. The same or similarconstituent elements may be applicable to other electronic devices 120,130, and/or 140, or the server 160, and also to still other electronicdevices or still other servers.

Referring to FIG. 2, the electronic device 110 may include a memory 211,at least one processor 212, a communication module 213, and aninput/output (I/O) interface 214, etc., and the server 150 may include amemory 221, at least one processor 222, a communication module 223, andan I/O interface 224, etc. The memory 211, 221 may include a permanentmass storage device, such as random access memory (RAM), read onlymemory (ROM), a disk drive, etc., as a non-transitory computer-readablestorage medium. Also, an OS and at least one program code, for example,a code for an application for video call, a browser, etc., installed andexecuted on the electronic device 110, may be stored in the memory 211,221. Such software constituent elements may be loaded from anothernon-transitory computer-readable storage medium separate from the memory211, 221 using a drive mechanism. The other computer-readable storagemedium may include, for example, a floppy drive, a disk, a tape, aBluray/DVD/CD-ROM drive, a memory card, etc. According to other exampleembodiments, software constituent elements may be loaded to the memory211, 221 through the communication module 213, 223, instead of, or inaddition to, the computer-readable storage medium. For example, at leastone program may be loaded to the memory 211, 221 based on a program, forexample, the application, installed by files provided over the network170 from developers or a file distribution system, for example, theserver 160, which provides an installation file of the application.

The processor 212, 222 may be configured to process computer-readableinstructions, for example, the aforementioned at least one program code,of a computer program by performing basic arithmetic operations, logicoperations, and I/O operations. The computer-readable instructions maybe provided from the memory 211, 221 and/or the communication module213, 223 to the processor 212, 222. For example, the processor 212, 222may be configured to execute received instructions in response to theprogram code stored in the storage device, such as the memory 211, 222.

The communication module 213, 223 may provide a function forcommunication between the electronic device 110 and the server 150 overthe network 170, and may provide a function for communication withanother electronic device, for example, the electronic device 120 oranother server, for example, the server 160. For example, the processor212 of the electronic device 110 may transfer a request, for example, arequest for a video call service, created based on a program code storedin the storage device such as the memory 211, to the server 150 over thenetwork 170 under control of the communication module 213. Inversely, acontrol signal, an instruction, content, a file, etc., provided undercontrol of the processor 222 of the server 150 may be received at theelectronic device 110 through the communication module 213 of theelectronic device 110 by going through the communication module 223 andthe network 170. For example, a control signal, an instruction, etc., ofthe server 150 received through the communication module 213 may betransferred to the processor 212 or the memory 211, and content, a file,etc., may be stored in a storage medium further includable in theelectronic device 110.

The I/O interface 214, 224 may be a device used for interface with anI/O device 215. For example, an input device may include a keyboard, amouse, a touch panel, a microphone, a camera, etc., and an output devicemay include a display device, such as a touch display for displaying acommunication session of an application, a speaker, a haptic feedbackdevice, etc. As another example, the I/O interface 214 may be a devicefor interface with an apparatus in which an input function and an outputfunction are integrated into a single function, such as a touch screen.In detail, when processing instructions of the computer program loadedto the memory 211, the processor 212 of the electronic device 110 maydisplay a service screen configured using data provided from the server150 or the electronic device 120, or may display content on a displaythrough the I/O interface 214.

According to other example embodiments, the electronic device 110 andthe server 150 may include a greater or lesser number of constituentelements than the number of constituent elements shown in FIG. 2. Forexample, the electronic device 110 may include at least a portion of theI/O device 215, or may further include other constituent elements, forexample, a transceiver, a global positioning system (GPS) module, acamera, a variety of sensors, a database, and the like. In detail, ifthe electronic device 110 is a smartphone, the electronic device 110 maybe configured to further include a variety of constituent elements, forexample, an accelerometer sensor, a gyro sensor, a camera, variousphysical buttons, a button using a touch panel, an I/O port, a vibrationmotor for vibration, etc., which are generally included in thesmartphone.

Herein, the electronic device 110 may be a device in which a photographyapplication (and/or camera application) is installed. An optimal (e.g.,desired, user preferred, etc.) position-of-photographing recommendationsystem may be configured on the electronic device 110 through a controlcommand provided from the photography application. The photographyapplication (e.g., a camera application, a photo-taking application, a360 degree photo-taking application, a three-dimensional (3D)photo-taking application, a video-taking application, a 360-degreevideo-taking application, a 3D video-taking application, etc.) may be aprogram that is installed on the electronic device 110 to independentlycontrol the electronic device 110, and may also be a program thatcontrols the electronic device 110 by additionally using an instructionfrom the server 150 through communication with the server 150. Forexample, the photography application may be a stand-alone application, achat application, an instant messaging application, an e-mailapplication, a gaming application, and/or a social network service (SNS)application. In this case, the electronic device 110 may transmit andreceive a message for conversation to and from another electronicdevice, for example, the electronic device 120 through the server, ormay upload content on a website. Here, the chat application, and/or theSNS application, etc., may include a function of acquiring an imagecaptured by controlling the camera, and the electronic device 110 mayperform the optimal position-of-photographing recommendation methodthrough the function.

FIG. 3 is a diagram illustrating an example of constituent elements ofat least one processor of a server according to at least one exampleembodiment, and FIG. 4 is a flowchart illustrating an example of anoptimal position-of-photographing recommendation method performed by anelectronic device according to at least one example embodiment.

Referring to FIG. 3, the at least one processor 212 of the electronicdevice 110 may include a camera controller 310, a photograph anglecalculator 320, an angle comparator 330, and a notification data outputcontroller 340, etc. The processor 212 and the constituent elements ofthe processor 212 may control the electronic device 110 to performoperations 410 through 450 included in the optimalposition-of-photographing recommendation method of FIG. 4. Here, theprocessor 212 and the constituent elements of the processor 212 may beconfigured to execute instructions according to a code of at least oneprogram and a code of an OS included in the memory 211. Here, the atleast one program may correspond to the aforementioned photographyapplication. Also, the constituent elements of the processor 212 may berepresentations of different functions performed at the processor 212 inresponse to a control command provided from the photography application.For example, the processor 212 may use the camera controller 310 as afunctional representation that operates to execute and control thecamera in response to the control command.

In operation 410, the processor 212 may load, to the memory 211, aprogram code stored in a file of an application for the optimalposition-of-photographing recommendation method. For example, theapplication may be the photography application, and may include acontrol command for controlling the electronic device 110 to perform theoptimal position-of-photographing recommendation method.

Here, the processor 212 and the camera controller 310, the photographangle calculator 320, the angle comparator 330, and/or the notificationdata output controller 340, etc., included in the processor 212 may bedifferent functional representations of the processor 212 to performoperations 420 through 450 by executing a command of a portioncorresponding to the program code loaded to the memory 211. Theprocessor 212 and the constituent elements of the processor 212 maycontrol the electronic device 110 to perform operations 420 through 450.For example, the processor 212 may control the electronic device 110 toproceed with photographing (e.g., image capturing, video capturing,etc.) by executing the camera included in the electronic device 110.

In operation 420, the camera controller 310 may control the electronicdevice 110 to execute and control the camera included in the electronicdevice 110. Once the camera and/or camera application is executed (e.g.,the camera and/or camera application is turned on, opened, etc.), thecamera controller 310 and/or the processor 212 may control theelectronic device 110 to provide a user interface capable of receiving acommand from the user to display an image output from the camera on adisplay of the electronic device 110 and/or to take an image of aspecific moment.

In operation 430, the photograph angle calculator 320 may calculate aphotograph angle (e.g., a photograph/video capture angle) of theelectronic device 110 based on sensing information provided from asensor of the electronic device 110. The photograph angle calculator 320may determine, continuously and/or in real-time, the angle of aphotograph (and/or video) captured and/or to be captured (or will becaptured) based on the current angle of the electronic device 110. Inother words, the photograph angle calculator 320 determines the angle ofthe electronic device 110 (and/or the camera lens and/or camera of theelectronic device 110) as the user is preparing to take a photographand/or video. The photograph angle may be represented based on anglesassociated with three axes, for example, x axis, y axis, and z axis ofthree-dimensional (3D) space. For example, an OS of the electronicdevice 110 may provide sensing information from an accelerometer sensor,a gyroscope sensor, etc., included in the electronic device 110. Thephotograph angle calculator 320 may process the sensing informationprovided from the OS and may calculate an angle of the electronic device110 (e.g., the angle at which the electronic device 110 is being held bya user, etc.). As another example, the OS may process the sensinginformation and may provide angle information of the electronic device110 on the 3D space that may be used as a reference. In this case, thephotograph angle calculator 320 may calculate a photograph capturingangle suitable for the optimal position-of-photographing recommendationmethod based on the provided angle. In detail, the optimalposition-of-photographing recommendation method may use angleinformation provided from the OS for the photograph angle as is, and mayalso calculate the photograph angle by analyzing the image output fromthe camera and using the angle of the electronic device 110 relative toan object and angle information provided from the OS. Here, the angle ofthe electronic device 110 relative to the object may be calculated usinga known image analysis method.

In operation 440, the angle comparator 330 may compare the calculatedphotograph angle to a desired and/or preset angle range that is managedby the photography application. The angle range may be managed as arange of a desired and/or preferred angle of the user. The angle rangemay be preset based on a value of an angle measured using pastphotographs captured by the user, or from past photographs captured bygroups of users, photography experts, etc. For example, the desiredand/or preset angle range may be updated based on the photograph angleof the electronic device 110 that is calculated at a point in time atwhich previous photographing has been performed using the executed andcontrolled camera. That is, the angle comparator 330 may compare acurrent photograph capture angle of the electronic device 110 to theangle range to which a photograph angle desired and/or preferred byusers has been applied.

For example, the electronic device 110 may include a front cameraprovided at the front of the electronic device 110 and a rear cameraprovided at the rear of the electronic device 110. Here, the angle rangemay include a first angle range associated with photographing using thefront camera and a second angle range for determining whether theelectronic device 110 is horizontal and/or parallel (or other desiredorientation) relative to the ground, background, the subject of thephotograph, etc., in association with capturing photographs and/orvideos using the rear camera. For example, the first angle range may bean angle range set in association with taking a selfie, etc., and thesecond angle range may be an angle range set in association with takinghorizontal and/or parallel photos in relation to an object, such asfood, etc., but the example embodiments are not limited thereto and theangle range may be set according to any other photography situations,such as taking group photos, portraits, action images, nature images,videos, 3D photos/videos, 360-degree photos/videos, etc.

In operation 450, the notification data output controller 340 maycontrol the electronic device 110 to output notification data if thecalculated photograph angle is included in the desired and/or presetangle range. For example, the notification data output controller 340may notify the user that a current photograph capture angle of theelectronic device 110 is a desired and/or preferred angle of the user.The photograph capture angle may be the exact same angle as the desiredand/or preferred angle, or may be within an acceptable range close tothe desired and/or preferred angle. The notification may be made byoutputting a visual signal to the user, such as changing a display colorand/or a display shape with respect to at least a portion of a displayincluded in the electronic device 110, flashing a light indicator to theuser, etc., outputting an auditory signal through a speaker included inthe electronic device 110, and/or by outputting a tactile signal using ahaptic feedback device (e.g., a vibration motor, etc.) included in theelectronic device 110. Additionally, the notification may provideinstructions and/or indications to the user to allow the user to adjustthe photograph angle of the electronic device 110 so that it matches thedesired and/or preferred angle. For example, the user may be providedwith visual, auditory, and/or haptic notifications indicating the amountof difference between the current photograph angle and the desiredand/or preferred photograph angle, instructions on how to adjust theelectronic device 110 to match the desired and/or preferred photographangle, etc. Accordingly, the user may further easily retrieve a positionof photographing desired, preferred, and/or optimized for the user.

In addition to the photograph angle, a distance between the electronicdevice 110 and the object, and a desired and/or preset distance rangemay be further used to recommend the optimal position of photography.For example, a user attempting to film a movie scene using theelectronic device 110 may desire to keep the camera at a desireddistance (or desired distances) from the actors of the scene and/or keepthe camera at a desired photograph angle (or desired photograph angles)to the actors of the scene. Accordingly, the user may input the desireddistance and/or desired photograph angle into the user interface of thephotograph application, and while setting up the camera for shooting,will be provided with information related to whether the current cameradistance and/or angle is at the desired camera distance and/or angle.Additionally, this may provide further benefit during filming of“tracking shots” wherein the actors and/or the camera are moving whilethe scene is acted and filmed. Also, the aforementioned angle range anddistance range may be learned. Additionally, a camera filtering effectmay be applicable to different areas based on the calculated angle ofthe electronic device 110 and/or the calculated distance between theelectronic device 110 and the object.

FIG. 5 is a diagram illustrating another example of constituent elementsincludable in a processor of a server according to at least one exampleembodiment, and FIG. 6 is a flowchart illustrating another example of anoptimal position-of-photographing recommendation method performed at anelectronic device according to at least one example embodiment.

As described above with FIG. 3, the processor 211 of the electronicdevice 110 may include the camera controller 310, the photograph anglecalculator 320, the angle comparator 330, and the notification dataoutput controller 340 as constituent elements. According to some exampleembodiments, such as FIG. 5, the processor 211 may selectively furtherinclude at least one of an angle range updater 510, a distancecalculator 520, a distance comparator 530, a range pair informationmanagement controller 540, a range pair information updater 550, an areasize changer 560, and/or a filtering effect applier 570. The optimalposition-of-photographing recommendation method described with FIG. 3may selectively further include at least one of operations 610 through670 in addition to operations 410 through 450. The constituent elementsselectively further includable in the processor 212 may be functionalrepresentations of the processor 212 configured to perform operationsselectively further includable in the optimal position-of-photographingrecommendation method among the operations 610 through 670 of FIG. 6.

In operation 610, the angle range updater 510 may update a desiredand/or preset angle range based on a photograph capture angle of theelectronic device 110 calculated at a point in time at whichphotographing is performed (e.g., when a user is in the process oftaking a photograph and/or video) through the executed and controlledcamera. The updated angle range may be used to be compared thephotograph capture angle of the electronic device 110 at a subsequentphotographing session. Here, in association with the angle range, aplurality of ranges may be stored, managed, and updated. For example, anangle range in which users take selfies and an angle range in whichusers take a photo of an object, such as food, may be significantlydifferent. Accordingly, the angle range may be set and updated based onangles having a similar value, for example, angles having a differencevalue less than or equal to a desired range, for example, 5 degrees orless. Angles having greater than or equal to a desired and/or presetvalue, for example, 15 degrees or more may be used to set and updatedifferent angle ranges. Operation 610 may be performed once an image istaken.

In operation 620, the distance calculator 520 may calculate a distancebetween the electronic device 110 and the object based on sensinginformation provided from the sensor of the electronic device 110. Forexample, the electronic device 110 may calculate the distance betweenthe electronic device 110 and the object with a distance sensor using anoptical scheme, such as an ultrasonic wave, an infrared (IR) ray, alaser, a time-of-flight depth calculation, etc. As another example, theelectronic device 110 may analyze the image input through the camera andmay calculate and use a relative distance between the electronic device110 and the object. Operation 620 may be performed before or afteroperation 430 of FIG. 4, or may be performed together with operation430.

In operation 630, the distance comparator 530 may compare the calculateddistance to the desired and/or preset range that is managed by thephotography application. The distance range may be managed as a range ofa distance desired and/or preferred by a user. For example, if the userdesires to take a selfie without using separate auxiliary equipment, adistance between the electronic device 110 and the object is highlylikely to be constant without being significantly changed. Also, apreferred distance based on a condition, such as a size of a face of theuser and the like, may be present. The distance range may be set basedon distance values measured at previous photographing of the user (e.g.,based on the user's history). Additionally, the distance range may bebased on the most commonly used values among a group of users, preferredvalues set by expert users (e.g., professional photographers), etc.Additionally, the user may select several distance ranges and/or angleranges for a single composition (e.g., for multiple photos being takenin the same session, or videos, the user may set multiple distanceranges and/or angle ranges for the photos/video being captured for usewith each shot). Operation 630 may be performed before or afteroperation 440 of FIG. 4, or may be performed together with operation440.

In this case, in operation 450, the notification data output controller340 may output notification data if the calculated photograph angle isincluded in the desired and/or preset angle range and if the calculateddistance is included in the desired and/or preset distance range.

In operation 640, the range pair information management controller 540may control the electronic device 110 to store and manage a plurality ofpieces of range pair information associated with the angle range and thedistance range. As described above, even the same user may havedifferent desired and/or preferred angle and distance values based onthe photography situation. For example, the angle and/or distancepreferred by the user to take a selfie and the angle and the distancepreferred by the user to take a photo of an object, such as food, may bedifferent. Additionally, the angle and/or distance preferred by the userfor taking photos may be different from the angle and/or distancepreferred for taking videos. Accordingly, the electronic device 110 maystore and manage a plurality of pieces of range pair information. Here,the plurality of pieces of range pair information may be managed by thephotography application. Operation 640 may be performed once operation410 of FIG. 4 is initially performed. That is, once the photographyapplication is initially executed, the plurality of pieces of range pairinformation may be stored and managed. An initial angle range and aninitial distance range may be desired and/or preset regardless ofprevious photographing of the user.

In operation 650, the range pair information updater 550 may updaterange pair information corresponding to the calculated photograph angleand the calculated distance among the plurality of pieces of range pairinformation based on the photograph capture angle of the electronicdevice 110 and the distance between the electronic device 110 and theobject that are calculated at a point in time at which photographing isperformed through the executed camera (e.g., the current photographcapture angle). Once photographing of the image is performed at theelectronic device 110, operation 650 may be performed to apply thephotograph angle and the distance preferred by the user. For example,operation 650 may be performed every time photographing is performed byexecuting the photography application.

In operation 660, the area size changer 560 may change a size of an areafor applying a filtering effect to an image input through the camera inresponse to a change in at least one of the calculated angle and thecalculated distance. For example, the area for applying the filteringeffect may include at least one of an area for applying an out-of-focuseffect, an area for applying a vignetting effect, and an area forapplying a mosaic processing effect. In the related art, the user needsto directly adjust a size of a proposed circular area or rectangulararea using a multi-touch on a touch screen, etc., or using a buttoninput, etc., in order to control the size of the area. In the exampleembodiments, the user may adjust the size of the area for applying thefiltering effect in an intuitive and simple manner by adjusting theangle of the electronic device 110 and/or the distance between theelectronic device 110 and the object.

In operation 670, the filtering effect applier 570 may apply thefiltering effect to the image captured through the camera, based on thechanged size of the area. That is, in response to progress ofphotographing, the filtering effect may be automatically applied to thesize of the area that is changed based on the photograph angle or thedistance.

FIG. 7 illustrates an example of outputting notification data based on aphotograph angle of an electronic device according to at least oneexample embodiment. FIG. 7 illustrates an example in which a photographcapture angle varies in response to a physical movement of an electronicdevice 710 while photographing an object 720 with the electronic device710. In this example, the electronic device 710 may compare a calculatedphotograph angle to an angle range provided from a photographyapplication installed on the electronic device 710. If the calculatedphotograph angle is included in the provided angle range, the electronicdevice 710 may output notification data and may notify the user that thecalculated photograph angle is a preferred photograph angle of the user.Optionally, the electronic device 710 may simultaneously output thenotification data and create an image through automatic capturingwithout receiving an explicit command from the user.

FIG. 8 illustrates an example of outputting notification data based on adistance between an electronic device and an object according to atleast one example embodiment. FIG. 8 illustrates an example in which adistance between the electronic device 710 and the object 720 varies inresponse to a physical movement of the electronic device whilephotographing the object 720 with the electronic device 710. Here, theelectronic device 710 may compare a calculated distance to a distancerange provided from a photography application installed on theelectronic device 110. If the calculated distance is included in theprovided distance range, the electronic device 710 may outputnotification data and may inform the user that the calculated distanceis at a preferred distance of the user. Even in this case, theelectronic device 710 may simultaneously output the notification dataand create an image through automatic capturing without receiving anexplicit command from the user.

FIGS. 7 and 8 illustrate example embodiments of outputting notificationdata using the photograph angle and the distance, respectively. Also,the electronic device 710 may be configured to output notification dataif a photograph angle calculated based on the photograph angle and/orthe distance is included in the angle range and at the same time, thecalculated distance is included in the distance range.

FIG. 9 illustrates an example of outputting notification data based on achange in a photograph angle according to at least one exampleembodiment. A first screen 910 of FIG. 9 shows an example of a displayof the electronic device 110 on which an image input through a camera isdisplayed. A second screen 920 of FIG. 9 shows an example of a displayof the electronic device 110 on which an image input through a camera isdisplayed in response to a change in an angle of the electronic device110. Here, a first user interface 911 on the first screen 910 and asecond user interface 912 on the second screen 920 show a change in acolor, a shape, a message, and the like. That is, FIG. 9 illustrates anexample of changing a user interface from the first user interface 911to the second user interface 912 and outputting notification data as avisual signal, in response to a change in the angle of the electronicdevice 110 and the calculated photograph angle of the electronic device110 being included in the desired and/or preset angle range.

As described above, the notification data may be output based on thedistance between the electronic device 110 and the object. Also, thenotification data may be output based on the photograph angle and/or thedistance.

FIG. 10 illustrates an example of changing a size of an area to which afiltering effect is applied based on a change in a photograph angleaccording to at least one example embodiment. A third screen 1010 ofFIG. 10 shows an example of a display of the electronic device 110 onwhich an image input through a camera is displayed. Here, a fourthscreen 1020 of FIG. 10 shows an example of a display of the electronicdevice 110 on which an image input a camera is displayed in response toa change in the angle of the electronic device 110. Even in this case,FIG. 10 illustrates an example of changing a user interface from a thirduser interface 1011 to a fourth user interface 1021 and outputtingnotification data as a visual signal in response to a change in theangle of the electronic device 110 and the calculated photograph angleof the electronic device 110 being included in the desired and/or presetangle range.

Also, a size of a filtering area, that is, an area for applying afiltering effect may be changed from a first area 1012 to a second area1022 in response to the change in the photograph angle. Referring toFIG. 10, in response to the change in the photograph angle, the size ofthe filtering area has increased from the first area 1012 to the secondarea 1022. As described above, the size of the filtering area may bechanged based on the distance between the electronic device 110 and theobject. Also, the size of the area for applying the filtering effect maybe changed based on all of the photograph angle and the distance.

According to some example embodiments, it is possible to pre-store andmanage a range of a desired and/or preferred angle of an electronicdevice of a user and/or a range of a desired and/or preferred distanceof the user between the electronic device and an object, to calculate anangle and a distance of the electronic device when taking a photo, andif the calculated angle and range are included in the stored angle rangeand/or distance range, to provide a notification to the user. In thismanner, it is possible to rectify inconveniences that the user mayencounter in terms of needing to refit an angle and a position of theelectronic device while verifying a screen of the electronic deviceevery time the user takes a photo and/or video. Also, according to someexample embodiments, it is possible to provide a function capable ofchanging and controlling a size to which a filtering effect is to beapplied on a captured image based on a calculated angle and/or distance,so that a user may further conveniently select a filtering area.

The units described herein may be implemented using hardware componentsor a combination of hardware components and software components. Forexample, a processing device may be implemented using one or moregeneral-purpose or special purpose computers, such as, for example, aprocessor, a controller and an arithmetic logic unit, a digital signalprocessor, a microcomputer, a field programmable array, a programmablelogic unit, a microprocessor or any other device capable of respondingto and executing instructions in a defined manner. The processing devicemay run an operating system (OS) and one or more software applicationsthat run on the OS. The processing device also may access, store,manipulate, process, and create data in response to execution of thesoftware. For purpose of simplicity, the description of a processingdevice is used as singular; however, one skilled in the art willappreciated that a processing device may include multiple processingelements and multiple types of processing elements. For example, aprocessing device may include multiple processors or a processor and acontroller. In addition, different processing configurations arepossible, such as parallel processors.

The software may include a computer program, a piece of code, aninstruction, or some combination thereof, for independently orcollectively instructing or configuring the processing device to operateas desired. Software and data may be embodied permanently or temporarilyin any type of machine, component, physical or virtual equipment,computer storage medium or device, or in a propagated signal wavecapable of providing instructions or data to or being interpreted by theprocessing device. The software also may be distributed over networkcoupled computer systems so that the software is stored and executed ina distributed fashion. In particular, the software and data may bestored by one or more computer readable recording mediums.

The example embodiments may be recorded in non-transitorycomputer-readable media including program instructions to implementvarious operations embodied by a computer. The media may also include,alone or in combination with the program instructions, data files, datastructures, and the like. The media and program instructions may bethose specially designed and constructed for the purposes, or they maybe of the kind well-known and available to those having skill in thecomputer software arts. Examples of non-transitory computer-readablemedia include magnetic media such as hard disks, floppy disks, andmagnetic tape; optical media such as CD ROM disks, DVD and Bluray;magneto-optical media such as floptical disks; and hardware devices thatare specially to store and perform program instructions, such asread-only memory (ROM, random access memory (RAM, flash memory, and thelike. Examples of program instructions include both machine code, suchas produced by a compiler, and files containing higher level code thatmay be executed by the computer using an interpreter. The describedhardware devices may be to act as one or more software modules in orderto perform the operations of the above-described embodiments.

The foregoing description has been provided for purposes of illustrationand description. It is not intended to be exhaustive or to limit thedisclosure. Individual elements or features of a particular exampleembodiment are generally not limited to that particular embodiment, but,where applicable, are interchangeable and can be used in a selectedembodiment, even if not specifically shown or described. The same mayalso be varied in many ways. Such variations are not to be regarded as adeparture from the disclosure, and all such modifications are intendedto be included within the scope of the disclosure.

What is claimed is:
 1. A non-transitory computer-readable medium storingcomputer readable instructions, which when executed by at least oneprocessor, causes the at least one processor to implement an optimalposition-of-photographing recommendation method, wherein the optimalposition-of-photographing recommendation method comprises: controlling acamera included in an electronic device based on a photographyapplication executed on the electronic device; calculating a photographangle of the electronic device based on sensor information provided fromat least one sensor of the electronic device; comparing the calculatedphotograph angle to a desired angle range; calculating a distancebetween the electronic device and an object of a photograph to becaptured using the camera based on the sensor information; comparing thecalculated distance to a desired distance range; and outputtingnotification data in response to the calculated photograph angle beingwithin the desired angle range and the calculated distance being withinthe desired distance range, wherein the optimalposition-of-photographing recommendation method further comprises:storing a plurality of pieces of range pair information associated withan angle range and a distance range; and updating range pair informationcorresponding to the calculated photograph angle and the calculateddistance from among the plurality of pieces of range pair informationbased on a current photograph angle of the electronic device and acurrent distance between the electronic device and the object, thecurrent photograph angle and the current distance calculated at a pointin time at which photographing is performed using the camera.
 2. Thenon-transitory computer-readable medium of claim 1, wherein the optimalposition-of-photographing recommendation method further comprises:updating the desired angle range based on a current photograph angle ofthe electronic device calculated at a point in time at whichphotographing is performed.
 3. The non-transitory computer-readablemedium of claim 1, wherein the optimal position-of-photographingrecommendation method further comprises: changing a size of an area forapplying a filtering effect to an image input through the camera inresponse to a change in at least one of the calculated angle and thecalculated distance; and applying the filtering effect to an imagecaptured through the camera based on the area of the changed size,wherein the area for applying the filtering effect includes at least oneof an area for applying an out-of-focus effect, an area for applying avignetting effect, and an area for applying a mosaic processing effect.4. The non-transitory computer-readable medium of claim 1, wherein theelectronic device includes a front camera provided at a front of theelectronic device and a rear camera provided at a rear of the electronicdevice; and the desired angle range includes a first angle rangeassociated with photographing using the front camera and a second anglerange for determining whether the electronic device is parallel to aground in association with photographing using the rear camera.
 5. Thenon-transitory computer-readable medium of claim 1, wherein theoutputting of the notification data comprises, outputting a visualsignal for changing a display color or a display shape with respect toat least a portion of a display included in the electronic device,outputting an auditory signal through a speaker included in theelectronic device, or outputting a tactile signal by causing shakingusing a motor included in the electronic device.
 6. An optimalposition-of-photographing recommendation method performed by anelectronic device, the method comprising: executing, using at least oneprocessor, and controlling a camera included in the electronic device;calculating, using the at least one processor, a photograph angle of theelectronic device based on sensor information provided from at least onesensor of the electronic device; comparing, using the at least oneprocessor, the calculated photograph angle to a desired angle range;calculating, using the at least one processor, a distance between theelectronic device and an object of a photograph to be taken using thecamera based on the sensor information provided from the at least onesensor of the electronic device; comparing, using the at least oneprocessor, the calculated distance to a desired distance range;outputting, using the at least one processor, notification data inresponse to the calculated photograph angle being within the desiredangle range and the calculated distance being within the desireddistance range; storing, using the at least one processor, a pluralityof pieces of range pair information associated with an angle range and adistance range; and updating, using the at least one processor, rangepair information corresponding to the calculated photograph angle andthe calculated distance from among the plurality of pieces of range pairinformation based on a current photograph angle of the electronic deviceand a current distance between the electronic device and the object, thecurrent photograph angle and the current distance calculated at a pointin time at which photographing is performed using the camera.
 7. Themethod of claim 6, further comprising: updating, using the at least oneprocessor, the desired angle range based on a photograph angle of theelectronic device calculated at a point in time at which photographingis performed using the camera.
 8. The method of claim 6, furthercomprising: changing, using the at least one processor, a size of anarea for applying a filtering effect to an image input through thecamera in response to a change in at least one of the calculated angleand the calculated distance; and applying, using the at least oneprocessor, the filtering effect to an image captured through the camerabased on the area of the changed size, wherein the area for applying thefiltering effect includes at least one of an area for applying anout-of-focus effect, an area for applying a vignetting effect, and anarea for applying a mosaic processing effect.
 9. The method of claim 6,wherein the electronic device includes a front camera provided at afront of the electronic device and a rear camera provided at a rear ofthe electronic device; and the desired angle range includes a firstangle range associated with photographing using the front camera and asecond angle range for determining whether the electronic device isparallel relative to a ground in association with photographing usingthe rear camera.
 10. The method of claim 6, wherein the outputting ofthe notification data comprises: outputting a visual signal for changinga display color or a display shape with respect to at least a portion ofa display included in the electronic device; outputting an auditorysignal through a speaker included in the electronic device; oroutputting a tactile signal by causing a vibration using a motorincluded in the electronic device.
 11. An optimalposition-of-photographing recommending system of an electronic device,the system comprising: a memory having computer-readable instructionsstored thereon; and at least one processor configured to execute thecomputer-readable instructions to, control a camera included in theelectronic device; calculate a photograph angle of the electronic devicebased on sensor information provided from at least one sensor of theelectronic device; compare the calculated photograph angle to a desiredangle range; calculate a distance between the electronic device and anobject of a photograph to be taken using the camera based on the sensorinformation; compare the calculated distance to a desired distancerange; and output notification data in response to the calculatedphotograph angle being within the desired angle range and the calculateddistance being within the desired distance range, wherein the at leastone processor is further configured to: store a plurality of pieces ofrange pair information associated with an angle range and a distancerange; and update range pair information corresponding to the calculatedphotograph angle and the calculated distance among the plurality ofpieces of range pair information based on a current photograph angle ofthe electronic device and a current distance between the electronicdevice and the object, the current photograph angle and the currentdistance calculated at a point in time at which photographing isperformed using the camera.
 12. The system of claim 11, wherein the atleast one processor is further configured to: update the desired anglerange based on a photograph angle of the electronic device calculated ata point in time at which photographing is performed using the camera.13. The system of claim 11, wherein the at least one processor isfurther configured to: change a size of an area for applying a filteringeffect to an image input through the camera in response to a change inat least one of the calculated angle and the calculated distance; andapply the filtering effect to an image captured through the camera basedon the area of the changed size wherein the area for applying thefiltering effect includes at least one of an area for applying anout-of-focus effect, an area for applying a vignetting effect, and anarea for applying a mosaic processing effect.